package com.example.demo.service.impl;

import com.example.demo.entity.Province;
import com.example.demo.mapper.ProvinceMapper;
import com.example.demo.service.ProvinceService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 地理位置省份服务层实现类
 *
 * @author 叮当猫的百宝箱
 * @since 1.0
 */
@Service
@RequiredArgsConstructor
public class ProvinceServiceImpl implements ProvinceService {

    private final ProvinceMapper provinceMapper;

    /**
     * 获取全部省份信息列表
     *
     * @return 全部省份信息列表
     */
    @Override
    public List<Province> getAllProvinces() {
        return provinceMapper.findAll();
    }

    /**
     * 根据城市行政编码获取所属的省份信息
     *
     * @param cityCode 城市行政编码
     * @return 市行政编码获取所属的省份信息
     */
    @Override
    public Province getByCityCode(String cityCode) {
        return provinceMapper.findByCityCode(cityCode);
    }

    /**
     * 根据区/县行政编码获取所属的省份信息
     *
     * @param districtCode 区/县行政编码
     * @return 区/县行政编码所属的省份信息
     */
    @Override
    public Province getByDistrictCode(String districtCode) {
        return provinceMapper.findByDistrictCode(districtCode);
    }

    /**
     * 根据镇/街道行编码获取所属的省份信息
     *
     * @param townCode 镇/街道行政编码
     * @return 镇/街道行编码所属的省份信息
     */
    @Override
    public Province getByTownCode(String townCode) {
        return provinceMapper.findByTownCode(townCode);
    }


}
